home *** CD-ROM | disk | FTP | other *** search
/ Business Heaven / Business Heaven.iso / members / rand / rand.hlp < prev    next >
Text File  |  1993-09-05  |  7KB  |  164 lines

  1.   PROGRAM: RAND, RAND2 and RANDin                     VER:5.5
  2.     DESCR: Pulls 4 digit #s & names out of Hat (not same # twice)
  3. KEY WORDS: FENTRY RANDOM NUMBER GENERATOR
  4.    AUTHOR: FAST ENTRY PROGRAMMING
  5.            Walter Killeen
  6.            210 S. Lopez St.
  7.            New Orleans, LA 70119
  8.            (504)827-5989 (Voice & Fax)
  9. Compuserv: 71511,35
  10.   FidoNet: 1:396/17.22
  11.  
  12. Requires:DOS3.1  Monitor:Mono or CGA
  13. Registration $25 .. $45
  14.    (RAND & RAND2: $25 each, RANDin: $35 or all three for $45
  15.  
  16. Rand.exe is a random number Generator of excellent flexibility. It was
  17. designed to produce a WINNING number such as is used in a raffle or
  18. door prize situation. Once it picks a winner, and displays it with suitable
  19. fanfare on the screen, that number, along with the time and date  will be added to a winners' list. (Sort of like pulling tickets from a hat)
  20.  
  21. In addition if the file GoodNums.lst exists, only numbers that exist in
  22. that file are considered valid. Further, the frequency or order a number
  23. is entered into the file HAS NO BEARING on how likely it will be picked.
  24.  
  25. ┌──────────────────┐
  26. │HOW RAND.EXE WORKS│
  27. └──────────────────┘
  28. To start RAND type: RAND {Which Random to Pick}
  29.  
  30. 1. On the basis of the microsecond that the random number generator is started
  31.    a four digit random number is generated (one digit at a time).
  32.  
  33. 2. If the File: GoodNums.lst exists and contains, on its first line the
  34.    words: ALL VALID NUMBERS, the file will be scanned sequentially for
  35.    the first occurrence of the random number already generated in step 1.
  36.  
  37. 3. If the number is not found, the program goes back to step 1 above,
  38.    generates another number and looks again... and again... until it
  39.    succeeds. If the file: GOODNUMS.LST doesn't exist the random number
  40.    will be considered valid at this point.
  41.  
  42. 4. It then opens the file: UsedNums.LST to see if the number was already
  43.    used. If it has, you guessed it back to step 1.  Until the file of
  44.    used numbers is erased, previous winners cannot win again.
  45.  
  46. 5. At this point, RAND has generated a number that IS  a member of
  47.    the first list and NOT a member of the second.  It now calls the
  48.    TITLE.exe to display the number and whether it won!  Remember
  49.    that little parameter that you started the program with? Lets say
  50.    that you started with 3.
  51.  
  52.    RAND would display the first two numbers as non-winners and the third
  53.    would be marked the winner. ONLY the number marked as a winner goes
  54.    into USEDNUMS.LST. Since we  started the random number
  55.    generator with a random number, there is NO WAY to fix the output. If the
  56.    GOODNUMS.LST file is used, its full path is displayed at the time
  57.    the numbers are displayed and the name is hard coded into the
  58.    program. If used, GOODNUMS.LST MUST be in the same sub-directory that
  59.    RAND.EXE is in.
  60.  
  61. ┌───────────────────┐
  62. │GOODNUMS.LST FORMAT│
  63. └───────────────────┘
  64. As mentioned above, GOODNUMS.LST is a simple ASCII text file. The first
  65. line MUST read: ALL VALID NUMBERS (all caps, no leading or trailing
  66. spaces).  After that, each valid number can be entered in any order on a
  67. line by itself. Use a standard text editor (such as Edlin) to create the
  68. file. Although only the first four characters are used for comparison,
  69. since the file is re-scanned up to NINE THOUSAND times each time a number
  70. is picked, it shouldn't contain anything else.
  71.  
  72. ┌───────────┐
  73. │PERFORMANCE│
  74. └───────────┘
  75. Yes, I know that I could have read all the numbers into an array and
  76. sorted the list first but this is one of the few times when the object
  77. is to create suspense. Let the computer churn a while. I didn't want the
  78. program to get the answer too quickly... Some things are best done
  79. SLOWLY... If you really want the computer to churn slowly, run from a floppy disk with BUFFERS=2.
  80.  
  81. If you need a quick reference (file names and such) just type:
  82.       RAND2 /?
  83.  
  84. ┌───────────────┐
  85. │RAND2 OPERATION│
  86. └───────────────┘
  87. Like RAND, RAND2 generates random numbers but uses a different lookup
  88. technique. Instead of generating a number then checking the GoodNums.LST
  89. file RAND2 first counts the entries in the file. It then generates a
  90. number that corresponds to one of the lines in the file. RAND2 then
  91. retrieves that line as the winner. Since it only needs to search the
  92. list once, RAND2 is MUCH FASTER!!
  93. The catch. GoodNums.LST must contain only ONE of each member to be fair.
  94. That's where RandIN comes in (See Below).
  95.  
  96. In addition to the number, RAND2 also reads up to 25 characters
  97. following the number and displays it below the winner. Most groups enter
  98. a person's full name here.
  99.  
  100. After displaying a winner, RAND2 asks what the lucky person won; that,
  101. along with the "Name" date and time are recorded in the UsedNums.LST for
  102. printout later. If, in response to the prompt, only an {Enter} is
  103. pressed, the phrase "ABSOLUTELY NOTHING" is recorded with the name. This
  104. does wonders for ensuring that those that leave early (and therefore
  105. weren't present to claim their prize) can be sufficiently ribbed about
  106. leaving early!! Some clubs regularly publish the list of NON-WINNERS to
  107. boost attendance.
  108.  
  109. NOTE: While designed to create suspense, there are times when you
  110. really want one of the programs to "hurry up". Most of the
  111. display and noisemaking routines are interruptable. If you press
  112. the spacebar during a screen pop-up, the pop-up will rapidly
  113. complete and allow you to enter the next operation almost
  114. instantly.
  115.  
  116.  
  117. RandIN
  118.  
  119. To keep RAND2 honest, you should really use its companion product,
  120. RandIN. It is designed to be a self check-in routine. When used with a
  121. standard easily maintained text file of known members, RandIN completely
  122. automates the process of gathering names of attendies for a drawing at
  123. the end of a meeting. See RANDIN.HLP for more info.
  124.  
  125. FUTURE ENHANCEMENTS?!
  126.  
  127. The first thing that comes to mind, is the ability for guests to
  128. register themselves. A club defined (system) variable could be created
  129. that allows them to be registered to win or be added to a separate guest
  130. list ...
  131.  
  132. What else? Depending on response, and suggestions... and my time to get
  133. to them, just about anything.
  134.  
  135. REGISTRATION
  136.  
  137. RAND, RAND2, RandIN and TITLE are copyrighted materials and are being
  138. marketed under the SHAREWARE concept. They are fully functional and
  139. useful programs and as such, fully worth your consideration and my
  140. compensation. Registration entitles you to a customized version of the
  141. software to use. As mentioned above, you only have to register what you
  142. use. By the way, TITLE.EXE is the display routine used by all three
  143. programs, none of them will run without it.
  144.  
  145. RAND is $25
  146. RAND2 is also $25
  147. RandIN is $35
  148. If you want to register all three, you may do so for only $45
  149.  
  150. In addition, registered users are allowed to get the SOURCE CODE
  151. (TURBO PASCAL) for all three units for only $10 extra. Of course any
  152. of you who decide NOT to register RandIN will have the world (and probably
  153. more than a few of your members) know the exit password causing you MUCH
  154. grief.
  155.  
  156. My you do like to read don't you. Look for other neat utilities under
  157. the code name FENTRY. I can be reached on Compuserve (71511,35) or
  158. Binkley E-mail 1:396/17.22
  159.  
  160. Happy computing!
  161. Walter
  162.  
  163.  
  164.